/*中间件的应用：
	1、路由保护：客户端访问需要登入的页面时，可以先使用中间件判断用户的登入状态，如果用户未登入则拦截请求，直接响应
	，禁止用户进入需要登入的页面。
	2、网站维护公告：在所有路由最上面定义接收所有请求的中间件，直接为客户端做出响应，网站
    正在维护中.
    3、自定义404页面

*/



// 引入express第三方框架模块
let express = require("express");
// 创建网站服务器对象
const app = express();

// 中间件的应用场景二演示代码：
// 网站公告
// app.use((req,res,next)=>{
// 	res.send("网站正在维护中，请八点后在访问！")

// })

// 中间件的应用场景一演示代码：
app.use("/admin",(req,res,next)=>{
	// 声明一个变量模拟用户没有登入的状态
	let islogin=true;
	// 如果用户是登入的状态
	if (islogin) {
		// 让请求继续向下执行
		next();
	}else {
		// 这个用户是未登入状态，直接对客户端做出响应
		res.send("您还没有登入，请先登入在访问该网站！")

	}

})
app.get("/admin",(req,res)=>{
	res.send("这个页面是用户登入后才可以访问的！")

})


// 中间件的应用场景三演示代码：
app.use((req,res,next)=>{
	res.status(404).send("您访问的页面不存在。可能是您输入电脑网站地址不正确！")

})

// 监听端口
app.listen(3000);
console.log("服务器启动成功！");